#ifndef ENTRADA_H_
#define ENTRADA_H_

#include "concurrencia/SimulacionHandler.h"
#include "concurrencia/SignalHandler.h"
#include "concurrencia/Fifo.h"
#include "Auto.h"
#include "Utils.h"
#include "concurrencia/Semaforo.h"
#include "Estacionamiento.h"

class Entrada {
	Fifo * entradaDeAutos;
	SimulacionHandler* simulacionHandler;
	Semaforo* semaforoEscritura;
	Semaforo* semaforoLectura;
	Semaforo* terminar;
	int id;
public:
	Entrada(int id, Semaforo *lectura, Semaforo *escritura, Semaforo* terminar);
	//Inicia cada una de las entradas y va tomando autos del fifo para ingresarlos en el estacionamiento
	void iniciar(Estacionamiento* estacionamiento);
	int getId();
	virtual ~Entrada();
};

#endif /* ENTRADA_H_ */
